Learn R Programming

Compositional (version 5.5)

The alpha-transformation: The \(\alpha\)-transformation

Description

The \(\alpha\)-transformation.

Usage

alfa(x, a, h = TRUE)
alef(x, a)

Arguments

x

A matrix with the compositional data.

a

The value of the power transformation, it has to be between -1 and 1. If zero values are present it has to be greater than 0. If \(\alpha=0\) the isometric log-ratio transformation is applied.

h

A boolean variable. If is TRUE (default value) the multiplication with the Helmert sub-matrix will take place. When \(\alpha=0\) and h = FALSE, the result is the centred log-ratio transformation (Aitchison, 1986). In general, when h = FALSE the resulting transformation maps the data onto a singualr space. The sum of the vectors is equal to 0. Hence, from the simplex constraint the data go to another constraint.

Value

A list including:

sa

The logarithm of the Jacobian determinant of the \(\alpha\)-transformation. This is used in the "profile" function to speed up the computations.

sk

If the "alef" was called, this will return the sum of the \(\alpha\)-power transformed data, prior to being normalised to sum to 1. If \(\alpha=0\), this will not be returned.

aff

The \(\alpha\)-transformed data.

Details

The \(\alpha\)-transformation is applied to the compositional data. The command "alef" is the same as "alfa(x, a, h = FALSE)", but reurns a different element as well and is necessary for the functions a.est, a.mle and alpha.mle.

References

Tsagris Michail and Stewart Connie (2020). A folded model for compositional data analysis. Australian and New Zealand Journal of Statistics, 62(2): 249-277. https://arxiv.org/pdf/1802.07330.pdf

Tsagris M.T., Preston S. and Wood A.T.A. (2011). A data-based power transformation for compositional data. In Proceedings of the 4th Compositional Data Analysis Workshop, Girona, Spain. https://arxiv.org/pdf/1106.1451.pdf

Aitchison J. (1986). The statistical analysis of compositional data. Chapman & Hall.

See Also

alfainv, pivot, alfa.profile, alfa.tune a.est, alpha.mle, alr, bc, fp, green

Examples

Run this code
# NOT RUN {
library(MASS)
x <- as.matrix(fgl[, 2:9])
x <- x / rowSums(x)
y1 <- alfa(x, 0.2)$aff
y2 <- alfa(x, 1)$aff
rbind( colMeans(y1), colMeans(y2) )
y3 <- alfa(x, 0.2)$aff
dim(y1)  ;  dim(y3)
rowSums(y1)
rowSums(y3)
# }

Run the code above in your browser using DataLab